#声明
import random


names = ['jack','roce','roce','tomy','jim','tom']
computer_brands = []
#地址
print(id(names))
print(id(computer_brands))
#元素的获取：索引    len()获取列表长度
print(names[0])
print(len(names))
#获取最后一个元素  支持反方向
print(names[-1])
print(names[len(names)-1])
#运算符 in
if 'jack' in names:
    print('jack在列表里')

#增删改查
#改
names[-1] = 'tommmy'
print(names)
i=0
for name in names:
    i+=1
    if name == 'roce':
        names[i-1] = 'honny'
print(names)

#删除del list[i] 如：删除列表中的honny和jim，下面这种方法会漏删
# j=0
# for name in names:
#     if name == 'honny' or name == 'jim':
#         del names[j]
#     j += 1
# print(names)

#删除 使用while语句
l=len(names)
i=0
while i<l:
    if 'ho' in names[i] or 'ji' in names[i]:
        del names[i]
        l-=1
        i-=1  #或者使用continue
    i+=1
print(names)


#列表增加元素  append() extend() insert()
#append()  在列表的末尾追加
# animal = []
# for i in range(2):
#     name = input('请输入心目中的美女名字：')
#     animal.append(name)
# print(animal)


#extend 一次添加多个元素，参数是字符串的话，会把字符串拆成字符添加到列表后面
#参数是列表的话，会把列表中的元素添加到新列表中，类似列表的合并
animal = ['cat']
# name = input('请输入你喜欢的宠物：')
animal.extend(names)
print(animal)
#符号+ 合并列表
animal = animal + names
print(animal)


#insert  指定位置插入,之前该位置的元素右移
career = ['医生','护士','军人','司机']
career.insert(1,'教师')
print(career)



#列表的切片
name_list = ['杨超越','刘亦菲','赵丽颖','佟丽娅','热巴']
print(name_list[2:4]) #形成一个新数组
print(name_list[::2]) #步长
print(name_list[-1::-1]) #反方向
print(name_list[-1::-2])


#练习：产生1-10之间的5个不相同的随机数，放入列表中
#方法一：
# random_list = []
# for i in range(5):
#     ran_num = random.randint(1,10)
#     while ran_num in random_list:
#         ran_num = random.randint(1,10)
#     random_list.append(ran_num)
# print(random_list)

#方法二：
# import random
random_list = []
i = 0
while i<10:
    ran_num = random.randint(1,10)
print(random_list)
print(ran_num)